package br.com.socialmeeting.services;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import br.com.socialmeeting.dao.impl.PerfilDaoImp;
import br.com.socialmeeting.dao.impl.UsuarioDaoImp;
import br.com.socialmeeting.model.Perfil;
import br.com.socialmeeting.model.Usuario;

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class UsuarioServiceImpl {

	private static final String ROLE_USER = "ROLE_USER";

	@Autowired
	private UsuarioDaoImp usuarioDaoImp;
	
	@Autowired
	private PerfilDaoImp perfilDaoImp;
	
public Usuario createNewUser(String nome, String senha){
		
		Usuario usuario = new Usuario();
		List<Perfil> perfis = new ArrayList<Perfil>();
		
		usuario.setLogin(nome);
		usuario.setSenha(senha);
		
		Usuario user = usuarioDaoImp.createNewUser(usuario);
		Perfil perfil = perfilDaoImp.createNewPerfil(usuario, ROLE_USER);
		
		perfis.add(perfil);
		user.setPerfis(perfis);
		
		return user;
	}
}
